// pages/index/index.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        rotation:[], //轮播图数组
        list:[],  //最新音乐数组
        userinfo:null, //登录时的个人信息
        status:false, //控制用户头像显示的样式
        prompt:false, //控制登录提示框的显示/隐藏
        rotation_arrayname:"", //轮播图集合的名字
        newest_arrayname:"", //最新音乐集合的名字
    },
    //判断是否为 已登录状态 ，否则触发登录提示框要求用户登录
    LoginStatus(e){
      console.log(e.currentTarget.dataset.id);
      console.log(e.currentTarget.dataset.arrayname);
      let id = e.currentTarget.dataset.id
      let arrayname = e.currentTarget.dataset.arrayname
      wx.getStorageInfo({
        success: (res) => {
          console.log(res.keys);
          //通过数据缓存中是否已有用户登录时的数据判断用户是否已登录，返回布尔类型数据
          let a = res.keys.some(value=> value == 'userInfo' )
          console.log(a);
          if(!a){
            //未登录，触发登录提示框
            console.log("未登录");
            this.setData({prompt:true})
          }else{
            //已登录，通过navigateTo跳转到下一页面并传送数据
            console.log('已登录');
            wx.navigateTo({
              url: '/pages/player/player',
              success(res) {
                // 通过 eventChannel 向被打开页面传送数据（id：歌曲id；arrayname：歌曲对应集合名字（方便后续判断歌曲播放列表））
                res.eventChannel.emit('acceptDataFromOpenerPage', { id: id ,arrayname: arrayname})
              }
            })
          }
        },
      })
    },
    //未登录时单击用户头像图标触发
    loginbandler(){
        this.setData({
            prompt:true //显示登录提示框
        })
    },
    //单击登录提示框取消按钮时触发
    close(){
        this.setData({
            prompt:false //隐藏登录提示框
        })
    },
    //单击登录提示框登录按钮时触发
    login(){
            let that = this
            wx.getUserProfile({
              desc: '获取您的个人信息',
              success(res){
                  console.log(res);
                  console.log(res.userInfo);
                  //将登录信息存入数据缓存，方便判断是否已登录
                  wx.setStorage({
                    key:'userInfo',
                    data:res.userInfo
                  })
                  that.setData({
                    status:true,
                    prompt:false,
                    userinfo:res.userInfo
                  })
              }
            })
    },



    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
      //连接数据库，并获取到最新音乐(newest)、轮播图(rotation)的数据，同时分别放入对应数组中
        let that = this
        let db = wx.cloud.database()
        db.collection('newest').get({
            success(res){
                console.log(res.data[0].arrayitem);
                console.log(res.data[0].arrayname);
                that.setData({
                    list:res.data[0].arrayitem,
                    newest_arrayname:res.data[0].arrayname,
                })
            }
        })
        db.collection('rotation').get({
          success(res){
            console.log(res.data[0].arrayitem);
            console.log(res.data[0].arrayname);
            that.setData({
              rotation:res.data[0].arrayitem,
              rotation_arrayname:res.data[0].arrayname,
            })
          }
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
      let that =this
      wx.getStorage({
        key: 'userInfo',
        success (res) {
          console.log(res.data)
          if (res.data!=null) {
            that.setData({
              userinfo:res.data,
              status:true,
            })
          }
        }
      })
      
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})